package com.ftx.controller.test.annotation.autowire;

import com.ftx.controller.test.annotation.beans.Car;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Created by fengtingxin on 2020/4/23.
 *
 * 1.把@Autowired放在普通的t方法上，则参数是从容器中获取的，调用的是方法的无参构造器
 * 2.把@Autowired 放在构造器上，如果组件只有一个有参构造器，这个有参构造器@Autowire可以省略，参数位置的组件可以自动从容器中获取
 * 3.放在参数位置
 */
@Component
public class Boss {

    private PersonAutoWire personAutoWire;



    public PersonAutoWire getPersonAutoWire() {
        return personAutoWire;
    }
     //标注在方法上，spring容器创建当前对象就会调用方法，完成赋值
    //方法使用的参数，自定义类型的值从ioc容器中获取。
    public void setPersonAutoWire(@Autowired PersonAutoWire personAutoWire) {
        System.out.println("set方法");
        System.out.println(personAutoWire);
        this.personAutoWire = personAutoWire;
    }
}
